package com.steel.yfmall.cloud.assistant.view;

import com.steel.yfmall.cloud.assistant.bean.result.APIResultByProductPriceBean;
import com.steel.yfmall.cloud.assistant.dto.para.view.ParaByProductPriceBean;
import com.steel.yfmall.cloud.assistant.dto.zg.ZgViewBean;
import com.steel.yfmall.cloud.assistant.po.view.ByProductPriceBean;
import com.steel.yfmall.cloud.components.utils.base.APIMsgBean;
import com.steel.yfmall.cloud.components.utils.base.Pages;

import java.util.List;

/**
 * 副产品单价信息业务逻辑接口
 *
 * @author jia chang bao
 * @date 2020/11/11 15:00
 */
public interface ByProductPriceBeanService {
    /**
     * @param paraByProductPriceBean 参数
     * @return long 总条数
     * @Description 根据条件查询副产品单价信息总条数，可以有条件，也可以没有条件
     * @author jia chang bao
     * @date 2020/11/11 15:02
     */
    long getProductPriceBeanCount(ParaByProductPriceBean paraByProductPriceBean);

    /**
     * @param paraByProductPriceBean 分页查询条件
     * @return ServiceDataBean<Pages < ReceivingGoodsBean>> 分页结果
     * @Description 根据条件分页查询副产品单价信息（分页）
     * @author jia chang bao 分页
     * @date 2020/11/11 15:04
     */
    Pages<ByProductPriceBean> getByProductPriceBeanOfPage(ParaByProductPriceBean paraByProductPriceBean);

    /**
     * @param paraByProductPriceBean 不分页查询参数
     * @return List<ReceivingGoodsBean> 不分页结果
     * @Description 根据条件不分页查询副产品单价信息（不分页）
     * @author jia chang bao
     * @date 2020/11/11 15:05
     */
    List<ByProductPriceBean> getByProductPriceBeanOfList(ParaByProductPriceBean paraByProductPriceBean);

    /**
     * @param byProductPriceBean 添加参数信息
     * @return int 受影响行数
     * @Description 添加单条副产品单价信息（单条添加）
     * @author jia chang bao
     * @date 2020/11/11 15:07
     */
    int addByProductPriceBean(ByProductPriceBean byProductPriceBean);

    /**
     * @param byProductPriceBeans 添加参数信息
     * @return int 受影响行数
     * @Description 批量添副产品单价信息（批量添加）
     * @author jia chang bao
     * @date 2020/11/11 15:08
     */
    int addByProductPriceBeanOfList(List<ByProductPriceBean> byProductPriceBeans);

    /**
     * @param ByProductPriceBean 修改参数条件
     * @return int 受影响行数
     * @Description 根据条件修改副产品单价信息
     * @author jia chang bao
     * @date 2020/11/11 15:10
     */
    int updateByProductPriceBean(ByProductPriceBean ByProductPriceBean);

    /**
     * @param paraByProductPriceBean 删除参数条件
     * @return int 受影响行数
     * @Description 根据条件删除副产品单价信息(单条删除)
     * @author jia chang bao
     * @date 2020/11/11 15:12
     */
    int deleteByProductPriceBean(ParaByProductPriceBean paraByProductPriceBean);

    /**
     * @param paraByProductPriceBeans 删除参数条件
     * @return int 受影响行数
     * @Description 根据条件批量删除副产品单价信息(批量删除)
     * @author jia chang bao
     * @date 2020/11/11 15:13
     */
    int deleteByProductPriceBeanOfList(List<ParaByProductPriceBean> paraByProductPriceBeans);

    /**
     * @return 同步成功信息数据
     * @Description 同步副產品單價
     * @author jia chang bao
     * @date 2020/11/9 20:37
     */
    APIMsgBean synchronizationZgReceivingGoods(ZgViewBean zgViewBean);

    /**
     * 获取单个副产品价格
     * @Title: getByProductPriceBeanByPara
     * @Description: (这里用一句话描述这个方法的作用)
     * @Param paraBean 参数说明
     * @return com.steel.yfmall.cloud.assistant.bean.result.APIResultByProductPriceBean    返回类型
     * @author yuchaohua
     * @date 2021/2/23 11:51
     */
    APIResultByProductPriceBean getByProductPriceBeanByPara(ParaByProductPriceBean paraBean);
}
